Here's the complete HTML code for the modern, visually appealing Maven tutorial page:

```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Maven 项目管理工具完全指南</title>
    <link href="https://cdn.staticfile.org/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
    <link href="https://cdn.staticfile.org/tailwindcss/2.2.19/tailwind.min.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/mermaid@latest/dist/mermaid.min.js"></script>
    <style>
        body {
            font-family: 'Noto Sans SC', Tahoma, Arial, Roboto, "Droid Sans", "Helvetica Neue", "Droid Sans Fallback", "Hiragino Sans GB", Simsun, sans-serif;
            color: #333;
            line-height: 1.6;
        }
        .hero {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        }
        h1, h2, h3, h4, h5, h6 {
            font-family: 'Noto Serif SC', serif;
            font-weight: 600;
            margin-top: 2rem;
            margin-bottom: 1rem;
        }
        h1 {
            font-size: 2.5rem;
            border-bottom: 2px solid #e2e8f0;
            padding-bottom: 0.5rem;
        }
        h2 {
            font-size: 2rem;
            color: #4a5568;
        }
        h3 {
            font-size: 1.5rem;
            color: #4a5568;
        }
        .content-block {
            background: white;
            border-radius: 0.5rem;
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .content-block:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
        }
        .code-block {
            background: #2d3748;
            color: #f7fafc;
            border-radius: 0.375rem;
            overflow-x: auto;
        }
        .step-card {
            background: #f8fafc;
            border-left: 4px solid #667eea;
        }
        .nav-link {
            color: #4a5568;
            transition: color 0.2s;
        }
        .nav-link:hover {
            color: #667eea;
        }
        .active-nav {
            color: #667eea;
            font-weight: 500;
            border-left: 3px solid #667eea;
        }
        .command-chip {
            background: #edf2f7;
            font-family: monospace;
            padding: 0.25rem 0.5rem;
            border-radius: 9999px;
            font-size: 0.875rem;
        }
        .tag {
            background: #e2e8f0;
            color: #4a5568;
            padding: 0.25rem 0.5rem;
            border-radius: 0.25rem;
            font-size: 0.75rem;
            font-weight: 500;
        }
    </style>
</head>
<body class="bg-gray-50">
    <!-- Hero Section -->
    <div class="hero text-white py-20 px-4 sm:px-6 lg:px-8">
        <div class="max-w-5xl mx-auto">
            <div class="flex items-center mb-6">
                <span class="bg-white bg-opacity-20 rounded-full p-2 mr-3">
                    <i class="fas fa-code-branch text-xl"></i>
                </span>
                <span class="text-sm uppercase tracking-wider font-semibold">Java 开发工具</span>
            </div>
            <h1 class="text-4xl md:text-5xl font-bold mb-4">Maven 项目管理工具完全指南</h1>
            <p class="text-xl md:text-2xl opacity-90 mb-8">构建、发布和管理 Java 项目的标准化解决方案</p>
            <div class="flex flex-wrap gap-3">
                <span class="bg-white bg-opacity-20 px-4 py-2 rounded-full text-sm font-medium">依赖管理</span>
                <span class="bg-white bg-opacity-20 px-4 py-2 rounded-full text-sm font-medium">项目构建</span>
                <span class="bg-white bg-opacity-20 px-4 py-2 rounded-full text-sm font-medium">生命周期管理</span>
                <span class="bg-white bg-opacity-20 px-4 py-2 rounded-full text-sm font-medium">自动化工具</span>
            </div>
        </div>
    </div>

    <!-- Main Content -->
    <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
        <div class="flex flex-col lg:flex-row gap-8">
            <!-- Sidebar Navigation -->
            <div class="lg:w-64 flex-shrink-0">
                <div class="sticky top-8">
                    <div class="content-block p-6 mb-6">
                        <h3 class="text-lg font-semibold mb-4">目录导航</h3>
                        <nav class="space-y-2">
                            <a href="#introduction" class="block nav-link pl-4 py-1 active-nav"><i class="fas fa-chevron-right mr-2 text-xs"></i>引言</a>
                            <a href="#overview" class="block nav-link pl-4 py-1"><i class="fas fa-chevron-right mr-2 text-xs"></i>Maven介绍</a>
                            <a href="#installation" class="block nav-link pl-4 py-1"><i class="fas fa-chevron-right mr-2 text-xs"></i>安装指南</a>
                            <a href="#configuration" class="block nav-link pl-4 py-1"><i class="fas fa-chevron-right mr-2 text-xs"></i>配置详解</a>
                            <a href="#repositories" class="block nav-link pl-4 py-1"><i class="fas fa-chevron-right mr-2 text-xs"></i>仓库管理</a>
                            <a href="#ide-integration" class="block nav-link pl-4 py-1"><i class="fas fa-chevron-right mr-2 text-xs"></i>IDE集成</a>
                            <a href="#commands" class="block nav-link pl-4 py-1"><i class="fas fa-chevron-right mr-2 text-xs"></i>常用命令</a>
                            <a href="#advanced" class="block nav-link pl-4 py-1"><i class="fas fa-chevron-right mr-2 text-xs"></i>高级特性</a>
                        </nav>
                    </div>
                    
                    <div class="content-block p-6">
                        <h3 class="text-lg font-semibold mb-4">快速链接</h3>
                        <div class="space-y-3">
                            <a href="https://maven.apache.org/" target="_blank" class="flex items-center text-blue-600 hover:text-blue-800">
                                <i class="fas fa-external-link-alt mr-2"></i> 官方文档
                            </a>
                            <a href="https://mvnrepository.com/" target="_blank" class="flex items-center text-blue-600 hover:text-blue-800">
                                <i class="fas fa-search mr-2"></i> 依赖查询
                            </a>
                            <a href="http://maven.aliyun.com/" target="_blank" class="flex items-center text-blue-600 hover:text-blue-800">
                                <i class="fas fa-bolt mr-2"></i> 阿里云仓库
                            </a>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Content -->
            <div class="flex-1">
                <!-- Introduction Section -->
                <section id="introduction" class="content-block p-8 mb-8">
                    <h2 class="text-3xl font-bold mb-6 flex items-center">
                        <span class="bg-blue-100 text-blue-800 w-10 h-10 rounded-full flex items-center justify-center mr-4">1</span>
                        引言
                    </h2>
                    <div class="prose max-w-none">
                        <p class="text-lg text-gray-700 mb-6">Maven 是一个强大的项目管理工具，用于构建、发布和管理 Java 项目。它提供了一种标准化的项目结构和构建流程，能够帮助开发团队有效地管理项目依赖、构建过程和项目生命周期。</p>
                        
                        <div class="flex justify-center my-8">
                            <img src="https://cdn.nlark.com/yuque/0/2024/png/21449790/1709603064701-83861fff-c253-478c-adbf-65cd6ea838c5.png" alt="Maven 架构图" class="rounded-lg shadow-md max-w-full h-auto">
                        </div>
                        
                        <p>Maven 基于项目对象模型（POM）进行配置，通过 XML 文件描述项目的结构和依赖关系。它通过中央仓库和其他远程仓库来管理项目依赖，自动下载所需的库文件，并且能够自动化构建、测试、打包和部署项目。</p>
                        
                        <div class="bg-blue-50 border-l-4 border-blue-500 p-4 my-6">
                            <div class="flex">
                                <div class="flex-shrink-0">
                                    <i class="fas fa-info-circle text-blue-500"></i>
                                </div>
                                <div class="ml-3">
                                    <p class="text-sm text-blue-700">
                                        <strong>关键特性：</strong> Maven 的核心概念包括项目对象模型(POM)、依赖管理系统、生命周期构建阶段、插件目标系统和项目聚合与继承。
                                    </p>
                                </div>
                            </div>
                        </div>
                    </div>
                </section>

                <!-- Overview Section -->
                <section id="overview" class="content-block p-8 mb-8">
                    <h2 class="text-3xl font-bold mb-6 flex items-center">
                        <span class="bg-blue-100 text-blue-800 w-10 h-10 rounded-full flex items-center justify-center mr-4">2</span>
                        Maven 介绍
                    </h2>
                    <div class="prose max-w-none">
                        <p>Maven 这个单词来自于意第绪语（犹太语），意为"知识的积累"。</p>
                        <p class="my-4">Maven 是一个基于项目对象模型（POM）的概念的纯 Java 开发的开源的项目管理工具。主要用来管理 Java 项目，进行<strong>依赖管理</strong>(jar 包依赖管理)和<strong>项目构建</strong>(项目编译、打包、测试、部署)。此外还能分块开发，提高开发效率。</p>
                        
                        <div class="flex justify-center my-8">
                            <img src="https://cdn.nlark.com/yuque/0/2022/png/21449790/1670036226986-89783f46-fc29-499a-8675-d81ae93bcdd5.png" alt="Maven 工作流程" class="rounded-lg shadow-md max-w-full h-auto">
                        </div>
                        
                        <p>项目构建就是将我们工程中的 Java 源文件，框架的配置文件，JSP，HTML，CSS，JS，图片等静态资源作为原材料，去组织生产出一个可以运行的项目的过程。之前都是 IDE 工具帮助我们干这些事情，现在看看 Maven 该如何做这些事情。</p>
                    </div>
                </section>

                <!-- Installation Section -->
                <section id="installation" class="content-block p-8 mb-8">
                    <h2 class="text-3xl font-bold mb-6 flex items-center">
                        <span class="bg-blue-100 text-blue-800 w-10 h-10 rounded-full flex items-center justify-center mr-4">3</span>
                        Maven 安装
                    </h2>
                    
                    <div class="space-y-6">
                        <!-- Step 1 -->
                        <div class="step-card p-6 rounded-lg">
                            <div class="flex items-start">
                                <div class="flex-shrink-0 bg-blue-500 rounded-md p-2 text-white mr-4">
                                    <span class="font-bold">1</span>
                                </div>
                                <div>
                                    <h3 class="text-lg font-semibold mb-2">下载 Maven</h3>
                                    <p class="text-gray-700">首先从 Maven 官网（<a href="https://maven.apache.org/download.cgi" target="_blank" class="text-blue-600 hover:underline">https://maven.apache.org/download.cgi</a>）下载最新版本的 Maven 压缩包。选择适合你操作系统的版本，通常是一个 .tar.gz 或 .zip 文件。</p>
                                </div>
                            </div>
                        </div>
                        
                        <!-- Step 2 -->
                        <div class="step-card p-6 rounded-lg">
                            <div class="flex items-start">
                                <div class="flex-shrink-0 bg-blue-500 rounded-md p-2 text-white mr-4">
                                    <span class="font-bold">2</span>
                                </div>
                                <div>
                                    <h3 class="text-lg font-semibold mb-2">解压缩 Maven</h3>
                                    <p class="text-gray-700">将下载的压缩包解压缩到你想要安装 Maven 的目录中。你可以将它解压缩到任何你喜欢的位置，例如 <code class="bg-gray-100 px-1 py-0.5 rounded">/opt</code> 或 <code class="bg-gray-100 px-1 py-0.5 rounded">C:\Program Files</code>。</p>
                                    <div class="mt-4">
                                        <img src="https://cdn.nlark.com/yuque/0/2024/png/21449790/1709603277052-0077dfcc-841d-4835-a3b7-2aa1660cb507.png" alt="Maven 目录结构" class="rounded-lg shadow-md max-w-full h-auto">
                                    </div>
                                </div>
                            </div>
                        </div>
                        
                        <!-- Step 3 -->
                        <div class="step-card p-6 rounded-lg">
                            <div class="flex items-start">
                                <div class="flex-shrink-0 bg-blue-500 rounded-md p-2 text-white mr-4">
                                    <span class="font-bold">3</span>
                                </div>
                                <div>
                                    <h3 class="text-lg font-semibold mb-2">配置环境变量（可选）</h3>
                                    <p class="text-gray-700">如果你希望在命令行中使用 Maven 命令，需要配置 Maven 的环境变量。</p>
                                    <ul class="list-disc pl-5 mt-2 space-y-1">
                                        <li><strong>Windows 系统：</strong>将 Maven 的 bin 目录添加到系统的 Path 变量中</li>
                                        <li><strong>Linux/Mac 系统：</strong>编辑 <code class="bg-gray-100 px-1 py-0.5 rounded">~/.bashrc</code> 或 <code class="bg-gray-100 px-1 py-0.5 rounded">~/.bash_profile</code> 文件，添加类似 <code class="bg-gray-100 px-1 py-0.5 rounded">export PATH=/path/to/apache-maven-3.x.x/bin:$PATH</code> 的配置</li>
                                    </ul>
                                    <div class="mt-4">
                                        <img src="https://cdn.nlark.com/yuque/0/2024/png/21449790/1709603322244-6bae59a2-2043-456d-bc54-db161b90f175.png" alt="环境变量配置" class="rounded-lg shadow-md max-w-full h-auto">
                                    </div>
                                </div>
                            </div>
                        </div>
                        
                        <!-- Step 4 -->
                        <div class="step-card p-6 rounded-lg">
                            <div class="flex items-start">
                                <div class="flex-shrink-0 bg-blue-500 rounded-md p-2 text-white mr-4">
                                    <span class="font-bold">4</span>
                                </div>
                                <div>
                                    <h3 class="text-lg font-semibold mb-2">验证安装</h3>
                                    <p class="text-gray-700">打开命令行终端，输入 <code class="bg-gray-100 px-1 py-0.5 rounded">mvn -v</code> 命令，如果安装成功，你将看到 Maven 的版本信息以及 Java 的版本信息。</p>
                                    <div class="mt-4">
                                        <img src="https://cdn.nlark.com/yuque/0/2024/png/21449790/1709603349790-917a24d9-17ce-45d5-b8fb-65c367b439cc.png" alt="验证安装" class="rounded-lg shadow-md max-w-full h-auto">
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </section>

                <!-- Configuration Section -->
                <section id="configuration" class="content-block p-8 mb-8">
                    <h2 class="text-3xl font-bold mb-6 flex items-center">
                        <span class="bg-blue-100 text-blue-800 w-10 h-10 rounded-full flex items-center justify-center mr-4">4</span>
                        Maven 配置
                    </h2>
                    
                    <div class="space-y-8">
                        <!-- Local Repository -->
                        <div>
                            <h3 class="text-2xl font-semibold mb-4 flex items-center">
                                <i class="fas fa-folder-open text-blue-500 mr-3"></i>
                                4.1 本地仓库配置
                            </h3>
                            <p class="mb-4">maven 的 conf 目录中有 settings.xml，是 maven 的配置文件，做如下配置：</p>
                            
                            <div class="code-block p-4 rounded-lg mb-4 overflow-x-auto">
                                <pre class="text-sm"><code>&lt;settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 			  	http://maven.apache.org/xsd/settings-1.0.0.xsd"&gt;
  &lt;!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  &lt;localRepository&gt;/path/to/local/repo&lt;/localRepository&gt;
  --&gt;
  &lt;!-- 选择一个磁盘目录，作为本地仓库 --&gt;
  &lt;localRepository&gt;D:\Program Files\maven\myrepository&lt;/localRepository&gt;
&lt;/settings&gt;</code></pre>
                            </div>
                        </div>
                        
                        <!-- JDK Configuration -->
                        <div>
                            <h3 class="text-2xl font-semibold mb-4 flex items-center">
                                <i class="fas fa-cog text-blue-500 mr-3"></i>
                                4.2 JDK 配置
                            </h3>
                            <p class="mb-4">在 &lt;profiles&gt; 标签中增加一个 &lt;profile&gt; 标签，限定 maven 项目默认的 jdk 版本。</p>
                            
                            <div class="code-block p-4 rounded-lg mb-4 overflow-x-auto">
                                <pre class="text-sm"><code>&lt;profiles&gt;
    &lt;!-- 在已有的profiles标签中添加profile标签 --&gt;
    &lt;profile&gt;    
        &lt;id&gt;myjdk&lt;/id&gt;    
        &lt;activation&gt;    
            &lt;!-- 当我们没有显式指定环境时, maven 会默认取 activeByDefault 为 true 的 profile --&gt;
            &lt;activeByDefault&gt;true&lt;/activeByDefault&gt;    
            &lt;jdk&gt;1.8&lt;/jdk&gt;    
        &lt;/activation&gt;    
        &lt;properties&gt;    
            &lt;maven.compiler.source&gt;1.8&lt;/maven.compiler.source&gt;    
            &lt;maven.compiler.target&gt;1.8&lt;/maven.compiler.target&gt;
            &lt;maven.compiler.compilerVersion&gt;1.8&lt;/maven.compiler.compilerVersion&gt; 
        &lt;/properties&gt;    
    &lt;/profile&gt;
&lt;/profiles&gt;
&lt;!-- 让增加的 profile 生效 --&gt;
&lt;activeProfiles&gt;
    &lt;activeProfile&gt;myjdk&lt;/activeProfile&gt;
&lt;/activeProfiles&gt;</code></pre>
                            </div>
                        </div>
                        
                        <!-- Common Commands -->
                        <div>
                            <h3 class="text-2xl font-semibold mb-4 flex items-center">
                                <i class="fas fa-terminal text-blue-500 mr-3"></i>
                                4.3 Maven 常用命令
                            </h3>
                            
                            <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
                                <div class="bg-gray-50 p-4 rounded-lg border border-gray-200">
                                    <div class="flex items-center mb-2">
                                        <div class="bg-blue-100 text-blue-800 rounded-full p-2 mr-3">
                                            <i class="fas fa-code"></i>
                                        </div>
                                        <h4 class="font-semibold">mvn compile</h4>
                                    </div>
                                    <p class="text-gray-700 text-sm">编译项目源代码</p>
                                </div>
                                
                                <div class="bg-gray-50 p-4 rounded-lg border border-gray-200">
                                    <div class="flex items-center mb-2">
                                        <div class="bg-blue-100 text-blue-800 rounded-full p-2 mr-3">
                                            <i class="fas fa-broom"></i>
                                        </div>
                                        <h4 class="font-semibold">mvn clean</h4>
                                    </div>
                                    <p class="text-gray-700 text-sm">清理项目，删除 target 目录</p>
                                </div>
                                
                                <div class="bg-gray-50 p-4 rounded-lg border border-gray-200">
                                    <div class="flex items-center mb-2">
                                        <div class="bg-blue-100 text-blue-800 rounded-full p-2 mr-3">
                                            <i class="fas fa-vial"></i>
                                        </div>
                                        <h4 class="font-semibold">mvn test</h4>
                                    </div>
                                    <p class="text-gray-700 text-sm">运行项目测试用例</p>
                                </div>
                                
                                <div class="bg-gray-50 p-4 rounded-lg border border-gray-200">
                                    <div class="flex items-center mb-2">
                                        <div class="bg-blue-100 text-blue-800 rounded-full p-2 mr-3">
                                            <i class="fas fa-box"></i>
                                        </div>
                                        <h4 class="font-semibold">mvn package</h4>
                                    </div>
                                    <p class="text-gray-700 text-sm">打包项目，生成 jar 或 war 文件</p>
                                </div>
                                
                                <div class="bg-gray-50 p-4 rounded-lg border border-gray-200">
                                    <div class="flex items-center mb-2">
                                        <div class="bg-blue-100 text-blue-800 rounded-full p-2 mr-3">
                                            <i class="fas fa-download"></i>
                                        </div>
                                        <h4 class="font-semibold">mvn install</h4>
                                    </div>
                                    <p class="text-gray-700 text-sm">安装项目到本地仓库</p>
                                </div>
                                
                                <div class="bg-gray-50 p-4 rounded-lg border border-gray-200">
                                    <div class="flex items-center mb-2">
                                        <div class="bg-blue-100 text-blue-800 rounded-full p-2 mr-3">
                                            <i class="fas fa-info-circle"></i>
                                        </div>
                                        <h4 class="font-semibold">mvn -version</h4>
                                    </div>
                                    <p class="text-gray-700 text-sm">查看 Maven 版本号</p>
                                </div>
                            </div>
                        </div>
                    </div>
                </section>

                <!-- Repositories Section -->
                <section id="repositories" class="content-block p-8 mb-8">
                    <h2 class="text-3xl font-bold mb-6 flex items-center">
                        <span class="bg-blue-100 text-blue-800 w-10 h-10 rounded-full flex items-center justify-center mr-4">5</span>
                        仓库管理
                    </h2>
                    
                    <div class="prose max-w-none">
                        <p>存储依赖的地方。仓库中不仅存放依赖，而且每个依赖都有唯一标识(坐标)，供 Java 项目索取。</p>
                        
                        <div class="mt-8">
                            <h3 class="text-2xl font-semibold mb-4 flex items-center">
                                <i class="fas fa-warehouse text-blue-500 mr-3"></i>
                                5.1 仓库分类
                            </h3>
                            
                            <div class="flex justify-center my-6">
                                <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036227463-f3b71b0c-63bd-41c0-9044-e8211252c782.jpeg" alt="Maven 仓库分类" class="rounded-lg shadow-md max-w-full h-auto">
                            </div>
                            
                            <p>当需要依赖时，会从仓库中查找，优先顺序为：</p>
                            <p class="font-medium ml-4">本地仓库 > 私服(如果配置了的话) > 公共仓库(如果配置了的话) > 中央仓库</p>
                        </div>
                        
                        <div class="mt-8">
                            <h3 class="text-2xl font-semibold mb-4 flex items-center">
                                <i class="fas fa-hdd text-blue-500 mr-3"></i>
                                5.2 本地仓库
                            </h3>
                            <p>即在 settings.xml 中配置的目录。使用过的依赖都会自动存储在本地仓库中，后续可以复用。</p>
                            
                            <div class="flex justify-center my-6">
                                <img src="https://cdn.nlark.com/yuque/0/2022/png/21449790/1670036227970-50682689-92f4-41fe-a047-e4a58b690dac.png" alt="Maven 本地仓库" class="rounded-lg shadow-md max-w-full h-auto">
                            </div>
                        </div>
                        
                        <div class="mt-8">
                            <h3 class="text-2xl font-semibold mb-4 flex items-center">
                                <i class="fas fa-cloud text-blue-500 mr-3"></i>
                                5.3 远程仓库
                            </h3>
                            
                            <div class="space-y-6">
                                <div>
                                    <h4 class="text-xl font-semibold mb-3">5.3.1 中央仓库</h4>
                                    <p>Maven 中央仓库是由 Maven 社区提供的仓库，不用任何配置，maven 中内置了中央仓库的地址。其中包含了绝大多数流行的开源 Java 构件。</p>
                                    <div class="mt-4">
                                        <ul class="space-y-2">
                                            <li><a href="https://mvnrepository.com/" target="_blank" class="text-blue-600 hover:underline">https://mvnrepository.com/</a> - 可以搜索需要的依赖的相关信息（仓库搜索服务）</li>
                                            <li><a href="http://repo.maven.apache.org/maven2/" target="_blank" class="text-blue-600 hover:underline">http://repo.maven.apache.org/maven2/</a> - 中央仓库地址</li>
                                        </ul>
                                    </div>
                                    <div class="flex justify-center my-6">
                                        <img src="https://cdn.nlark.com/yuque/0/2022/png/21449790/1670036228545-0c76b3e7-4403-4ab9-927a-297ba68cb954.png" alt="Maven 中央仓库" class="rounded-lg shadow-md max-w-full h-auto">
                                    </div>
                                </div>
                                
                                <div>
                                    <h4 class="text-xl font-semibold mb-3">5.3.2 公共仓库</h4>
                                    <p>除中央仓库之外，还有其他远程仓库。比如 aliyun 仓库（<a href="http://maven.aliyun.com/nexus/content/groups/public/" target="_blank" class="text-blue-600 hover:underline">http://maven.aliyun.com/nexus/content/groups/public/</a>）</p>
                                    <p>中央仓库在国外，下载依赖速度过慢，所以都会配置一个国内的公共仓库替代中央仓库。</p>
                                    
                                    <div class="code-block p-4 rounded-lg mt-4 overflow-x-auto">
                                        <pre class="text-sm"><code>&lt;!--setting.xml中添加如下配置--&gt;
&lt;mirrors&gt;
    &lt;mirror&gt;
        &lt;id&gt;aliyun&lt;/id&gt;  
        &lt;!-- 中心仓库的 mirror(镜像) --&gt;
        &lt;mirrorOf&gt;central&lt;/mirrorOf&gt;    
        &lt;name&gt;Nexus aliyun&lt;/name&gt;
        &lt;!-- aliyun仓库地址 以后所有要指向中心仓库的请求，都会指向aliyun仓库--&gt;
        &lt;url&gt;http://maven.aliyun.com/nexus/content/groups/public&lt;/url&gt;  
    &lt;/mirror&gt;
&lt;/mirrors&gt;</code></pre>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </section>

                <!-- IDE Integration Section -->
                <section id="ide-integration" class="content-block p-8 mb-8">
                    <h2 class="text-3xl font-bold mb-6 flex items-center">
                        <span class="bg-blue-100 text-blue-800 w-10 h-10 rounded-full flex items-center justify-center mr-4">6</span>
                        IDE 集成
                    </h2>
                    
                    <div class="prose max-w-none">
                        <div class="mt-6">
                            <h3 class="text-2xl font-semibold mb-4 flex items-center">
                                <i class="fas fa-code text-blue-500 mr-3"></i>
                                6.1 在 IDEA 中关联 Maven
                            </h3>
                            <p>在 IDEA 中关联本地安装的 Maven，后续就可以通过 IDEA 使用 Maven，管理项目啦。</p>
                            
                            <div class="flex justify-center my-6">
                                <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036229129-177f94ba-3e2d-426f-b0ec-6e0f5815ed76.jpeg" alt="IDEA 关联 Maven" class="rounded-lg shadow-md max-w-full h-auto">
                            </div>
                            <div class="flex justify-center my-6">
                                <img src="https://cdn.nlark.com/yuque/0/2022/png/21449790/1670036229700-e0e2b371-6574-4357-9707-31f1dbedd640.png" alt="Maven 配置" class="rounded-lg shadow-md max-w-full h-auto">
                            </div>
                        </div>
                        
                        <div class="mt-8">
                            <h3 class="text-2xl font-semibold mb-4 flex items-center">
                                <i class="fas fa-project-diagram text-blue-500 mr-3"></i>
                                6.2 创建 Maven 项目
                            </h3>
                            
                            <div class="space-y-6">
                                <div>
                                    <h4 class="text-xl font-semibold mb-3">6.2.1 新建项目</h4>
                                    <div class="flex justify-center my-4">
                                        <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036230159-99cd620a-dc92-4997-8147-d0bcb55e1792.jpeg" alt="新建 Maven 项目" class="rounded-lg shadow-md max-w-full h-auto">
                                    </div>
                                </div>
                                
                                <div>
                                    <h4 class="text-xl font-semibold mb-3">6.2.2 指定项目名</h4>
                                    <div class="flex justify-center my-4">
                                        <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036230536-6bab878b-04e7-41b7-b580-ca730cdd904a.jpeg" alt="指定项目名" class="rounded-lg shadow-md max-w-full h-auto">
                                    </div>
                                </div>
                                
                                <div>
                                    <h4 class="text-xl font-semibold mb-3">6.2.3 项目位置</h4>
                                    <div class="flex justify-center my-4">
                                        <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036230819-b8276c07-75c4-48ac-8066-56d6b8ef81aa.jpeg" alt="项目位置" class="rounded-lg shadow-md max-w-full h-auto">
                                    </div>
                                </div>
                                
                                <div>
                                    <h4 class="text-xl font-semibold mb-3">6.2.4 项目结构</h4>
                                    <div class="space-y-2 mb-4">
                                        <p>1. <code class="bg-gray-100 px-1 py-0.5 rounded">src/main/java</code> - 存放源代码，建包，放项目中代码(service, dao, User, ....)</p>
                                        <p>2. <code class="bg-gray-100 px-1 py-0.5 rounded">src/main/resources</code> - 书写配置文件，项目中的配置文件(jdbc.properties)</p>
                                        <p>3. <code class="bg-gray-100 px-1 py-0.5 rounded">src/test/java</code> - 书写测试代码，项目中测试案例代码</p>
                                        <p>4. <code class="bg-gray-100 px-1 py-0.5 rounded">src/test/resources</code> - 书写测试案例相关配置文件</p>
                                        <p>5. <code class="bg-gray-100 px-1 py-0.5 rounded">项目根/pom.xml</code> (project object model) - maven 项目核心文件，其中定义项目构建方式，声明依赖等</p>
                                    </div>
                                    <p class="mb-4">注意：项目中的建包，建类，执行，都和普通项目无差异</p>
                                    <div class="flex justify-center my-4">
                                        <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036231214-0f44d040-b4fe-4e55-98d0-6f334c0a3c5a.jpeg" alt="项目结构" class="rounded-lg shadow-md max-w-full h-auto">
                                    </div>
                                </div>
                                
                                <div>
                                    <h4 class="text-xl font-semibold mb-3">6.2.5 项目类型</h4>
                                    <p>根据项目类型，在 pom.xml 中做出对应配置，添加配置：<code class="bg-gray-100 px-1 py-0.5 rounded">&lt;packaging&gt;war/jar&lt;/packaging&gt;</code></p>
                                    
                                    <div class="code-block p-4 rounded-lg mt-4 overflow-x-auto">
                                        <pre class="text-sm"><code>&lt;project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&gt;
    &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
    &lt;groupId&gt;com.qf&lt;/groupId&gt;
    &lt;artifactId&gt;test01&lt;/artifactId&gt;
    &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;
    &lt;!-- 打包方式，如果是java项目则用 jar，
         如果是web项目则用war --&gt;
    &lt;!--&lt;packaging&gt;war&lt;/packaging&gt;--&gt;
    &lt;packaging&gt;jar&lt;/packaging&gt;
&lt;/project&gt;</code></pre>
                                    </div>
                                </div>
                            </div>
                        </div>
                        
                        <div class="mt-8">
                            <h3 class="text-2xl font-semibold mb-4 flex items-center">
                                <i class="fas fa-box-open text-blue-500 mr-3"></i>
                                6.3 导入依赖 jar
                            </h3>
                            <p>建好项目后，需要导入需要的 jar，要通过【坐标】</p>
                            <ol class="list-decimal pl-5 space-y-1 mt-2">
                                <li>每个构件都有自己的坐标(标识) = groupId + artifactId + version = 项目标识 + 项目名 + 版本号</li>
                                <li>在 maven 项目中只需要配置坐标，maven 便会自动加载对应依赖。删除坐标则会移除依赖</li>
                            </ol>
                            
                            <div>
                                <h4 class="text-xl font-semibold mb-3 mt-6">6.3.1 查找依赖</h4>
                                <p>依赖查找服务：<a href="https://mvnrepository.com/" target="_blank" class="text-blue-600 hover:underline">https://mvnrepository.com/</a>，获得依赖的坐标，在 maven 项目中导入。</p>
                                <div class="flex justify-center my-6">
                                    <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036231595-9a113b07-7958-4724-92e6-ee511c0c80d1.jpeg" alt="查找依赖" class="rounded-lg shadow-md max-w-full h-auto">
                                </div>
                                <div class="flex justify-center my-6">
                                    <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036231923-35e913a9-6a17-405f-b157-08b818085814.jpeg" alt="依赖坐标" class="rounded-lg shadow-md max-w-full h-auto">
                                </div>
                            </div>
                            
                            <div>
                                <h4 class="text-xl font-semibold mb-3 mt-6">6.3.2 导入依赖</h4>
                                <p>在项目的 pom 文件中，增加依赖</p>
                                <div class="flex justify-center my-6">
                                    <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036232233-db6e2d01-5169-429c-b5e8-fcd6cb20bcb0.jpeg" alt="导入依赖" class="rounded-lg shadow-md max-w-full h-auto">
                                </div>
                            </div>
                            
                            <div>
                                <h4 class="text-xl font-semibold mb-3 mt-6">6.3.3 同步依赖</h4>
                                <p>引入坐标后，同步依赖，确认导入。</p>
                                <div class="flex justify-center my-6">
                                    <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036232856-09070625-3534-4f04-8c8a-ff01dbfb3595.jpeg" alt="同步依赖" class="rounded-lg shadow-md max-w-full h-auto">
                                </div>
                            </div>
                        </div>
                        
                        <div class="mt-8">
                            <h3 class="text-2xl font-semibold mb-4 flex items-center">
                                <i class="fas fa-globe text-blue-500 mr-3"></i>
                                6.4 创建 Web 项目
                            </h3>
                            
                            <div class="space-y-6">
                                <div>
                                    <h4 class="text-xl font-semibold mb-3">6.4.1 打包方式</h4>
                                    <p>pom.xml 中设置 <code class="bg-gray-100 px-1 py-0.5 rounded">&lt;packaging&gt;war&lt;/packaging&gt;</code></p>
                                    <div class="flex justify-center my-6">
                                        <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036233339-8aa90afc-77a3-4484-8767-cb032fb027f2.jpeg" alt="打包方式" class="rounded-lg shadow-md max-w-full h-auto">
                                    </div>
                                </div>
                                
                                <div>
                                    <h4 class="text-xl font-semibold mb-3">6.4.2 Web 依赖</h4>
                                    <p>导入 JSP 和 Servlet 和 JSTL 依赖，使项目具有 web 编译环境</p>
                                    
                                    <div class="code-block p-4 rounded-lg mt-4 overflow-x-auto">
                                        <pre class="text-sm"><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;project ...&gt;
    ...
    &lt;packaging&gt;war&lt;/packaging&gt;

    &lt;!-- 导入JSP 和 Servlet 和 JSTL 依赖 --&gt;
    &lt;dependencies&gt;
        &lt;dependency&gt;
            &lt;!-- jstl 支持 --&gt;
            &lt;groupId&gt;javax.servlet&lt;/groupId&gt;
            &lt;artifactId&gt;jstl&lt;/artifactId&gt;
            &lt;version&gt;1.2&lt;/version&gt;
        &lt;/dependency&gt;
        &lt;dependency&gt;
            &lt;!-- servlet编译环境 --&gt;
            &lt;groupId&gt;javax.servlet&lt;/groupId&gt;
            &lt;artifactId&gt;javax.servlet-api&lt;/artifactId&gt;
            &lt;version&gt;3.1.0&lt;/version&gt;
            &lt;scope&gt;provided&lt;/scope&gt;
        &lt;/dependency&gt;
        &lt;dependency&gt;
            &lt;!-- jsp编译环境 --&gt;
            &lt;groupId&gt;javax.servlet&lt;/groupId&gt;
            &lt;artifactId&gt;jsp-api&lt;/artifactId&gt;
            &lt;version&gt;2.0&lt;/version&gt;
            &lt;scope&gt;provided&lt;/scope&gt;
        &lt;/dependency&gt;
    &lt;/dependencies&gt;
&lt;/project&gt;</code></pre>
                                    </div>
                                </div>
                                
                                <div>
                                    <h4 class="text-xl font-semibold mb-3">6.4.3 Webapp 目录</h4>
                                    <p>按照 maven 规范，新建 web 项目特有目录</p>
                                    <div class="flex justify-center my-6">
                                        <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036233843-90656475-94c0-4d1a-a15a-90735860b9e6.jpeg" alt="Webapp 目录" class="rounded-lg shadow-md max-w-full h-auto">
                                    </div>
                                    
                                    <div class="code-block p-4 rounded-lg mt-4 overflow-x-auto">
                                        <pre class="text-sm"><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0"&gt;
    &lt;!-- 这是一个空白的web.xml文件模板 --&gt;
&lt;/web-app&gt;</code></pre>
                                    </div>
                                </div>
                                
                                <div>
                                    <h4 class="text-xl font-semibold mb-3">6.4.4 定义 Servlet 和 Jsp</h4>
                                    <div class="flex justify-center my-6">
                                        <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036234434-8c5eb30a-3315-4210-92e0-a792fbe17788.jpeg" alt="定义 Servlet" class="rounded-lg shadow-md max-w-full h-auto">
                                    </div>
                                    <div class="flex justify-center my-6">
                                        <img src="https://cdn.nlark.com/yuque/0/2022/png/21449790/1670036234916-30a5408e-eaa3-4bbf-a3d0-dad74dd3311b.png" alt="定义 JSP" class="rounded-lg shadow-md max-w-full h-auto">
                                    </div>
                                </div>
                                
                                <div>
                                    <h4 class="text-xl font-semibold mb-3">6.4.5 修改 Web 项目版本</h4>
                                    <p>删除后重新添加 web.xml 选择版本即可。</p>
                                    <div class="flex justify-center my-6">
                                        <img src="https://cdn.nlark.com/yuque/0/2022/png/21449790/1670036235410-5474d587-f185-4666-97cc-046f3c5364f6.png" alt="修改 Web 项目版本" class="rounded-lg shadow-md max-w-full h-auto">
                                    </div>
                                </div>
                            </div>
                        </div>
                        
                        <div class="mt-8">
                            <h3 class="text-2xl font-semibold mb-4 flex items-center">
                                <i class="fas fa-server text-blue-500 mr-3"></i>
                                6.5 部署 Web 项目
                            </h3>
                            
                            <div class="space-y-6">
                                <div>
                                    <h4 class="text-xl font-semibold mb-3">6.5.1 新增 Tomcat</h4>
                                    <div class="flex justify-center my-6">
                                        <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036235944-45af3ae2-89f3-48c7-be98-380bf7493e23.jpeg" alt="新增 Tomcat" class="rounded-lg shadow-md max-w-full h-auto">
                                    </div>
                                    <div class="flex justify-center my-6">
                                        <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036236448-7d1e2862-e6bf-4cd4-84bf-b293db7db97f.jpeg" alt="配置 Tomcat" class="rounded-lg shadow-md max-w-full h-auto">
                                    </div>
                                    <div class="flex justify-center my-6">
                                        <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036237459-bd3caa47-d90c-4e3a-a829-901fc6f8eaf1.jpeg" alt="Tomcat 配置完成" class="rounded-lg shadow-md max-w-full h-auto">
                                    </div>
                                </div>
                                
                                <div>
                                    <h4 class="text-xl font-semibold mb-3">6.5.2 部署 Web 项目</h4>
                                    <div class="flex justify-center my-6">
                                        <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036238086-885f8029-f8bd-4757-bd4a-0a2887b1dc12.jpeg" alt="部署 Web 项目" class="rounded-lg shadow-md max-w-full h-auto">
                                    </div>
                                    <div class="flex justify-center my-6">
                                        <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036238522-48f4f4cd-676d-4f5e-b1ae-a5d286e46f3a.jpeg" alt="部署配置" class="rounded-lg shadow-md max-w-full h-auto">
                                    </div>
                                    <div class="flex justify-center my-6">
                                        <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036239062-a9897d14-070f-4c39-9195-a93c4e2d9ad2.jpeg" alt="部署方式" class="rounded-lg shadow-md max-w-full h-auto">
                                    </div>
                                    
                                    <p class="mt-4"><strong>war：</strong>这是先打成 war 包，再发布，正常的发布就是用的这种。工程 target 目录下会生成 war 包, 并且解压后的 war 包会被部署到 tomcat 的 webapp 目录下。</p>
                                    <p class="mt-2"><strong>war exploded：</strong>模式是直接把文件夹、jsp 页面、classes 等等移到 Tomcat 部署文件夹里面，进行加载部署。因此这种方式支持热部署，一般在开发的时候也是用这种方式。</p>
                                </div>
                                
                                <div>
                                    <h4 class="text-xl font-semibold mb-3">6.5.3 启动 Tomcat</h4>
                                    <div class="flex justify-center my-6">
                                        <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036239533-d6915a7b-65cc-40ec-9791-545202021133.jpeg" alt="启动 Tomcat" class="rounded-lg shadow-md max-w-full h-auto">
                                    </div>
                                    <div class="flex justify-center my-6">
                                        <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036239936-511a360d-4dbc-4b8e-bbd1-e529a9ceae7b.jpeg" alt="访问项目" class="rounded-lg shadow-md max-w-full h-auto">
                                    </div>
                                </div>
                            </div>
                        </div>
                        
                        <div class="mt-8">
                            <h3 class="text-2xl font-semibold mb-4 flex items-center">
                                <i class="fas fa-plug text-blue-500 mr-3"></i>
                                6.6 利用 Maven 插件运行 Web 项目
                            </h3>
                            
                            <div class="code-block p-4 rounded-lg overflow-x-auto">
                                <pre class="text-sm"><code>&lt;build&gt;
    &lt;plugins&gt;
        &lt;plugin&gt;
            &lt;groupId&gt;org.apache.tomcat.maven&lt;/groupId&gt;
            &lt;artifactId&gt;tomcat7-maven-plugin&lt;/artifactId&gt;
            &lt;configuration&gt;
                &lt;!-- 热部署 --&gt;
                &lt;contextReloadable&gt;true&lt;/contextReloadable&gt;
                &lt;port&gt;8080&lt;/port&gt; &lt;!-- 端口号 --&gt;
                &lt;path&gt;/&lt;/path&gt; &lt;!-- 发布的项目路径 --&gt;
            &lt;/configuration&gt;
        &lt;/plugin&gt;
    &lt;/plugins&gt;
&lt;/build&gt;</code></pre>
                            </div>
                        </div>
                        
                        <div class="mt-8">
                            <h3 class="text-2xl font-semibold mb-4 flex items-center">
                                <i class="fas fa-life-ring text-blue-500 mr-3"></i>
                                6.7 依赖生命周期
                            </h3>
                            
                            <p>项目中导入的依赖可以做生命周期的管理</p>
                            
                            <div class="code-block p-4 rounded-lg mt-4 overflow-x-auto">
                                <pre class="text-sm"><code>&lt;dependency&gt;
    &lt;groupId&gt;commons-io&lt;/groupId&gt;
    &lt;artifactId&gt;commons-io&lt;/artifactId&gt;
    &lt;version&gt;2.6&lt;/version&gt;
    &lt;!-- 生命周期 --&gt;
    &lt;scope&gt;compile&lt;/scope&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
    &lt;!-- servlet编译环境 --&gt;
    &lt;groupId&gt;javax.servlet&lt;/groupId&gt;
    &lt;artifactId&gt;javax.servlet-api&lt;/artifactId&gt;
    &lt;version&gt;3.1.0&lt;/version&gt;
    &lt;!-- 生命周期 --&gt;
    &lt;scope&gt;provided&lt;/scope&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
    &lt;groupId&gt;junit&lt;/groupId&gt;
    &lt;artifactId&gt;junit&lt;/artifactId&gt;
    &lt;version&gt;4.12&lt;/version&gt;
    &lt;!-- 生命周期 --&gt;
    &lt;scope&gt;test&lt;/scope&gt;
&lt;/dependency&gt;</code></pre>
                            </div>
                            
                            <p class="mt-4">Maven 有生命周期如下：</p>
                            <ul class="list-disc pl-5 space-y-2 mt-2">
                                <li><strong>compile(默认值)：</strong>缺省值，适用于所有阶段(测试，编译，运行，打包)，会随着项目一起发布(被打包)</li>
                                <li><strong>provided：</strong>类似 compile，期望 JDK、容器或使用者会提供这个依赖。如 servlet-api.jar</li>
                                <li>参与测试，编译，不会被打包</li>
                                <li><strong>runtime：</strong>只在运行时使用，如 mysql-connector-java 驱动 jar，适用运行和测试阶段，会被一起发布</li>
                                <li><strong>test：</strong>只在测试时使用，用于编译和运行测试代码，如 junit.jar，不会随项目发布</li>
                                <li><strong>system：</strong>类似 provided，但 Maven 不会在 Repository 中查找它，要在本地磁盘目录中查找</li>
                                <li>参与编译，测试，打包，运行。</li>
                            </ul>
                        </div>
                    </div>
                </section>

                <!-- Commands Section -->
                <section id="commands" class="content-block p-8 mb-8">
                    <h2 class="text-3xl font-bold mb-6 flex items-center">
                        <span class="bg-blue-100 text-blue-800 w-10 h-10 rounded-full flex items-center justify-center mr-4">7</span>
                        Maven 命令
                    </h2>
                    
                    <div class="prose max-w-none">
                        <div>
                            <h3 class="text-2xl font-semibold mb-4 flex items-center">
                                <i class="fas fa-keyboard text-blue-500 mr-3"></i>
                                7.1 命令行
                            </h3>
                            <p>通过 idea 打开 cmd，然后执行 maven 指令</p>
                            
                            <div class="flex justify-center my-6">
                                <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036240547-9b50381c-8705-4ecb-b6ad-d896b69937ba.jpeg" alt="打开命令行" class="rounded-lg shadow-md max-w-full h-auto">
                            </div>
                            <div class="flex justify-center my-6">
                                <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036240978-25944ba0-6a06-46fa-9d67-fb6a9cfea3db.jpeg" alt="执行命令" class="rounded-lg shadow-md max-w-full h-auto">
                            </div>
                        </div>
                        
                        <div class="mt-8">
                            <h3 class="text-2xl font-semibold mb-4 flex items-center">
                                <i class="fas fa-window-maximize text-blue-500 mr-3"></i>
                                7.2 Maven 面板
                            </h3>
                            <p>idea 中有 maven 面板，其中可以快速执行 maven 指令</p>
                            
                            <div class="flex justify-center my-6">
                                <img src="https://cdn.nlark.com/yuque/0/2022/jpeg/21449790/1670036241271-a2e3f4a2-ea55-4f41-b1fa-13dac51fd742.jpeg" alt="Maven 面板" class="rounded-lg shadow-md max-w-full h-auto">
                            </div>
                        </div>
                        
                        <div class="mt-8">
                            <h3 class="text-2xl font-semibold mb-4 flex items-center">
                                <i class="fas fa-download text-blue-500 mr-3"></i>
                                自定义安装 Jar 包到本地仓库
                            </h3>
                            
                            <div class="space-y-4">
                                <p>1、安装 jar 包到本地仓库</p>
                                <div class="code-block p-4 rounded-lg overflow-x-auto">
                                    <pre class="text-sm"><code>mvn install:install-file -DgroupId=cn.dsna.util.images -DartifactId=ValidateCode -Dversion=1.0 -Dfile=E:\teaching\document\lib\ValidateCode.jar -Dpackaging=jar -DgeneratePom=true</code></pre>
                                </div>
                                
                                <div class="flex justify-center my-6">
                                    <img src="https://cdn.nlark.com/yuque/0/2022/png/21449790/1670036241789-fc9841d1-e23d-4c11-88ad-6814d30ff7e8.png" alt="安装 Jar 包" class="rounded-lg shadow-md max-w-full h-auto">
                                </div>
                                
                                <p>2、在 pom 中导入</p>
                                <div class="code-block p-4 rounded-lg overflow-x-auto">
                                    <pre class="text-sm"><code>&lt;dependency&gt;
    &lt;groupId&gt;cn.dsna.util.images&lt;/groupId&gt;
    &lt;artifactId&gt;ValidateCode&lt;/artifactId&gt;
    &lt;version&gt;1.0&lt;/version&gt;
&lt;/dependency&gt;</code></pre>
                                </div>
                            </div>
                        </div>
                        
                        <div class="mt-8">
                            <h3 class="text-2xl font-semibold mb-4 flex items-center">
                                <i class="fas fa-cloud-download-alt text-blue-500 mr-3"></i>
                                使用 maven 命令下载依赖
                            </h3>
                            
                            <div class="code-block p-4 rounded-lg overflow-x-auto">
                                <pre class="text-sm"><code>mvn dependency:get -DremoteRepositories=http://mvnrepository.com/  -DgroupId=net.jhorstmann -DartifactId=psd -Dversion=1.9.2</code></pre>
                            </div>
                            
                            <p class="mt-4">Maven 中央仓库地址有以下几种：</p>
                            <ul class="list-disc pl-5 space-y-1 mt-2">
                                <li><a href="http://mvnrepository.com/" target="_blank" class="text-blue-600 hover:underline">http://mvnrepository.com/</a> - 属于美化版本，国外网站，在国内可能下载比较慢</li>
                                <li><a href="http://repo1.maven.org/maven2/" target="_blank" class="text-blue-600 hover:underline">http://repo1.maven.org/maven2/</a> - 属于基本版本，查找自己需要的东西比较麻烦，也比较慢</li>
                                <li><a href="http://maven.aliyun.com/nexus/content/groups/public/" target="_blank" class="text-blue-600 hover:underline">http://maven.aliyun.com/nexus/content/groups/public/</a> - 属于阿里云的中央仓库，在国内下载速度较快</li>
                            </ul>
                        </div>
                    </div>
                </section>

                <!-- Advanced Section -->
                <section id="advanced" class="content-block p-8 mb-8">
                    <h2 class="text-3xl font-bold mb-6 flex items-center">
                        <span class="bg-blue-100 text-blue-800 w-10 h-10 rounded-full flex items-center justify-center mr-4">8</span>
                        高级特性
                    </h2>
                    
                    <div class="prose max-w-none">
                        <div>
                            <h3 class="text-2xl font-semibold mb-4 flex items-center">
                                <i class="fas fa-exclamation-triangle text-blue-500 mr-3"></i>
                                8.1 mvn test 不执行单元测试
                            </h3>
                            <p>mvn test 使用的是 surefire 插件,它按照指定格式的类名来查找匹配的测试类</p>
                            <p class="mt-2">默认包含的测试类：</p>
                            <ul class="list-disc pl-5 mt-2 space-y-1">
                                <li><code class="bg-gray-100 px-1 py-0.5 rounded">*/Test.java</code></li>
                                <li><code class="bg-gray-100 px-1 py-0.5 rounded">*/TestCase.java</code></li>
                            </ul>
                        </div>
                        
                        <div class="mt-8">
                            <h3 class="text-2xl font-semibold mb-4 flex items-center">
                                <i class="fas fa-lock text-blue-500 mr-3"></i>
                                8.2 maven SSL 证书失败
                            </h3>
                            <div class="flex justify-center my-6">
                                <img src="https://cdn.nlark.com/yuque/0/2022/png/21449790/1670036242263-8c39c5c7-2976-4520-b747-0eca6576b63e.png" alt="SSL 证书错误" class="rounded-lg shadow-md max-w-full h-auto">
                            </div>
                            <div class="code-block p-4 rounded-lg overflow-x-auto">
                                <pre class="text-sm"><code>mvn clean && mvn compile -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true</code></pre>
                            </div>
                        </div>
                        
                        <div class="mt-8">
                            <h3 class="text-2xl font-semibold mb-4 flex items-center">
                                <i class="fas fa-sliders-h text-blue-500 mr-3"></i>
                                Profile 配置
                            </h3>
                            
                            <p>配置方法分为以下几个步骤：</p>
                            <ol class="list-decimal pl-5 mt-2 space-y-1">
                                <li>配置 profiles 节点（pom.xml）</li>
                                <li>配置 build 节点（pom.xml) -- 如果不配置该节点则无法找到 profile 中的 properties 属性值，并且配置后超链接才有效</li>
                                <li>使用（在 xml 或 properties 中使用）</li>
                                <li>执行 maven 命令，使 profiles 的 local 节点生效。</li>
                            </ol>
                            
                            <div class="mt-6">
                                <h4 class="text-xl font-semibold mb-3">1、配置 profiles 节点（pom.xml）</h4>
                                <div class="code-block p-4 rounded-lg overflow-x-auto">
                                    <pre class="text-sm"><code>&lt;profiles&gt;
    &lt;profile&gt;
        &lt;id&gt;dev&lt;/id&gt;
        &lt;properties&gt;
            &lt;host&gt;dev&lt;/host&gt;
            &lt;port&gt;3305&lt;/port&gt;
        &lt;/properties&gt;
    &lt;/profile&gt;
    &lt;profile&gt;
        &lt;id&gt;test&lt;/id&gt;
        &lt;properties&gt;
            &lt;host&gt;test&lt;/host&gt;
            &lt;port&gt;3306&lt;/port&gt;
        &lt;/properties&gt;
    &lt;/profile&gt;
&lt;/profiles&gt;</code></pre>
                                </div>
                            </div>
                            
                            <div class="mt-6">
                                <h4 class="text-xl font-semibold mb-3">2、配置 build 节点（pom.xml）</h4>
                                <div class="code-block p-4 rounded-lg overflow-x-auto">
                                    <pre class="text-sm"><code>&lt;build&gt;
    &lt;resources&gt;
        &lt;!-- src/main/resources 路径下 所有的文件 都会被占位符替换 --&gt;
        &lt;resource&gt;
            &lt;filtering&gt;true&lt;/filtering&gt;
            &lt;directory&gt;src/main/resources&lt;/directory&gt;
            &lt;includes&gt;
                &lt;include&gt;**/*&lt;/include&gt;
            &lt;/includes&gt;
        &lt;/resource&gt;
    &lt;/resources&gt;
&lt;/build&gt;</code></pre>
                                </div>
                            </div>
                            
                            <div class="mt-6">
                                <h4 class="text-xl font-semibold mb-3">3、使用</h4>
                                <div class="flex justify-center my-6">
                                    <img src="https://cdn.nlark.com/yuque/0/2022/png/21449790/1670037674855-d729f31b-73ce-44ec-99e3-7272fda7ec8c.png" alt="Profile 使用" class="rounded-lg shadow-md max-w-full h-auto">
                                </div>
                            </div>
                            
                            <div class="mt-6">
                                <h4 class="text-xl font-semibold mb-3">4、执行 maven 命令，使 profiles 的 local 节点生效，编译后的内容</h4>
                                <div class="flex justify-center my-6">
                                    <img src="https://cdn.nlark.com/yuque/0/2022/png/21449790/1670037718496-dee8b966-b8b9-4b85-8c49-d24a77b60895.png" alt="编译结果" class="rounded-lg shadow-md max-w-full h-auto">
                                </div>
                            </div>
                        </div>
                    </div>
                </section>

                <!-- Mermaid Diagram -->
                <section class="content-block p-8 mb-8">
                    <h2 class="text-3xl font-bold mb-6">Maven 核心概念关系图</h2>
                    <div class="mermaid">
                        graph TD
                            A[Maven] --> B[POM]
                            A --> C[生命周期]
                            A --> D[插件]
                            A --> E[仓库]
                            
                            B --> F[项目坐标]
                            B --> G[依赖管理]
                            B --> H[构建配置]
                            
                            C --> I[clean]
                            C --> J[default]
                            C --> K[site]
                            
                            D --> L[编译器插件]
                            D --> M[测试插件]
                            D --> N[打包插件]
                            
                            E --> O[本地仓库]
                            E --> P[远程仓库]
                            E --> Q[中央仓库]
                            
                            style A fill:#667eea,color:white
                            style B fill:#764ba2,color:white
                            style C fill:#764ba2,color:white
                            style D fill:#764ba2,color:white
                            style E fill:#764ba2,color:white
                    </div>
                </section>
            </div>
        </div>
    </div>

    <!-- Footer -->
    <footer class="bg-gray-900 text-gray-300 py-8">
        <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
            <div class="flex flex-col items-center">
                <div class="text-xl font-semibold mb-2">技术小馆</div>
                <div class="text-sm mb-4">分享技术知识与开发经验</div>
                <a href="http://www.yuque.com/jtostring" target="_blank" class="text-blue-400 hover:text-blue-300 transition-colors duration-200">
                    <i class="fas fa-external-link-alt mr-1"></i> http://www.yuque.com/jtostring
                </a>
                <div class="mt-6 text-xs text-gray-500">
                    &copy; 2023 技术小馆. 保留所有权利.
                </div>
            </div>
        </div>
    </footer>

    <script>
        mermaid.initialize({
            startOnLoad: true,
            theme: 'dark',
            flowchart: {
                useMaxWidth: false,
                htmlLabels: true,
                curve: 'basis'
            }
        });
        
        // Smooth scrolling for anchor links
        document.querySelectorAll('a[href^="#"]').forEach(anchor => {
            anchor.addEventListener('click', function (e) {
                e.preventDefault();
                
                document.querySelector(this.getAttribute('href')).scrollIntoView({
                    behavior: 'smooth'
                });
            });
        });
        
        // Highlight active navigation link
        const sections = document.querySelectorAll('section');
        const navLinks = document.querySelectorAll('.nav-link');
        
        window.addEventListener('scroll', () => {
            let current = '';
            
            sections.forEach(section => {
                const sectionTop = section.offsetTop;
                const sectionHeight = section.clientHeight;
                
                if (pageYOffset >= sectionTop - 200) {
                    current = section.getAttribute('id');
                }
            });
            
            navLinks.forEach(link => {
                link.classList.remove('active-nav');
                if (link.getAttribute('href') === `#${current}`) {
                    link.classList.add('active-nav');
                }
            });
        });
    </script>
</body>
</html>
```